package com.ibeeking.gmc.global.g.rest.service;

import com.ibeeking.gmc.global.service.common.bo.OauthClientBO;
import com.ibeeking.gmc.global.service.common.param.OauthClientParam;
import com.ibeeking.gmc.global.service.common.query.ClientPageQuery;
import com.ibeeking.gmc.global.service.common.vo.OauthClientPageVO;
import com.ibeeking.gmc.global.service.common.vo.OauthClientVO;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;

/**
 * @Author ibeeking
 */
public interface IClientService {
    OauthClientBO queryByClientId(String clientId);

    /**
     * 分页查询
     *
     * @param query
     * @return
     */
    Page<OauthClientPageVO> pageList(ClientPageQuery query);

    /**
     * 新增
     *
     * @param param
     * @return
     */
    OauthClientVO add(OauthClientParam param);

    /**
     * 修改
     *
     * @param param
     * @return
     */
    Boolean modify(OauthClientParam param);

    /**
     * 查看
     *
     * @param id
     * @return
     */
    OauthClientVO view(Long id);

    OauthClientBO queryById(Long id);

    /**
     * 修改状态
     *
     * @param id
     * @param status
     * @return
     */
    Boolean changeStatus(Long id, Integer status);

    /**
     * 删除
     *
     * @param id
     * @return
     */
    Boolean del(Long id);

    OauthClientVO reset(Long id);
}
